home *** CD-ROM | disk | FTP | other *** search
- Version 1.00
- BEGIN Form frmHelpMain
- AutoRedraw = -1
- BackColor = QBColor(7)
- BorderStyle = 2
- Caption = "Help"
- ControlBox = -1
- Enabled = -1
- ForeColor = QBColor(0)
- Height = Char(19)
- Left = Char(7)
- MaxButton = -1
- MinButton = -1
- MousePointer = 0
- Tag = ""
- Top = Char(2)
- Visible = -1
- Width = Char(66)
- WindowState = 0
- BEGIN HScrollBar hscHelp
- Attached = -1
- DragMode = 0
- Enabled = -1
- Height = Char(1)
- LargeChange = 20
- Left = Char(8)
- Max = 32767
- Min = 1
- MousePointer = 0
- SmallChange = 1
- TabIndex = 6
- TabStop = 0
- Tag = ""
- Top = Char(20)
- Value = 1
- Visible = -1
- Width = Char(63)
- END
- BEGIN VScrollBar vscHelp
- Attached = -1
- DragMode = 0
- Enabled = -1
- Height = Char(16)
- LargeChange = 1
- Left = Char(72)
- Max = 32767
- Min = 1
- MousePointer = 0
- SmallChange = 1
- TabIndex = 7
- TabStop = 0
- Tag = ""
- Top = Char(3)
- Value = 1
- Visible = -1
- Width = Char(1)
- END
- BEGIN PictureBox pctBackground
- AutoRedraw = -1
- BackColor = QBColor(7)
- BorderStyle = 0
- DragMode = 0
- Enabled = -1
- ForeColor = QBColor(0)
- Height = Char(14)
- Left = Char(0)
- MousePointer = 0
- TabIndex = 0
- TabStop = -1
- Tag = ""
- Top = Char(3)
- Visible = -1
- Width = Char(64)
- END
- BEGIN CommandButton cmdButtonBar
- BackColor = QBColor(7)
- Cancel = 0
- Caption = "&Contents"
- Default = 0
- DragMode = 0
- Enabled = 0
- Height = Char(3)
- Index = 0
- Left = Char(0)
- MousePointer = 0
- TabIndex = 1
- TabStop = 0
- Tag = ""
- Top = Char(0)
- Visible = -1
- Width = Char(12)
- END
- BEGIN CommandButton cmdButtonBar
- BackColor = QBColor(7)
- Cancel = 0
- Caption = "&Search..."
- Default = 0
- DragMode = 0
- Enabled = 0
- Height = Char(3)
- Index = 1
- Left = Char(13)
- MousePointer = 0
- TabIndex = 2
- TabStop = 0
- Tag = ""
- Top = Char(0)
- Visible = -1
- Width = Char(12)
- END
- BEGIN CommandButton cmdButtonBar
- BackColor = QBColor(7)
- Cancel = 0
- Caption = "&Back"
- Default = 0
- DragMode = 0
- Enabled = 0
- Height = Char(3)
- Index = 2
- Left = Char(26)
- MousePointer = 0
- TabIndex = 3
- TabStop = 0
- Tag = ""
- Top = Char(0)
- Visible = -1
- Width = Char(12)
- END
- BEGIN CommandButton cmdButtonBar
- BackColor = QBColor(7)
- Cancel = 0
- Caption = "His&tory..."
- Default = 0
- DragMode = 0
- Enabled = 0
- Height = Char(3)
- Index = 3
- Left = Char(39)
- MousePointer = 0
- TabIndex = 4
- TabStop = 0
- Tag = ""
- Top = Char(0)
- Visible = -1
- Width = Char(12)
- END
- BEGIN CommandButton cmdButtonBar
- BackColor = QBColor(7)
- Cancel = 0
- Caption = "Co&py..."
- Default = 0
- DragMode = 0
- Enabled = -1
- Height = Char(3)
- Index = 4
- Left = Char(52)
- MousePointer = 0
- TabIndex = 5
- TabStop = 0
- Tag = ""
- Top = Char(0)
- Visible = -1
- Width = Char(12)
- END
- END
- ' ------------------------------------------------------------------------
- ' Visual Basic for MS-DOS Help Toolkit
- '
- ' Help Window Form
- '
- ' The Help Toolkit (HELP.BAS, HELPF.FRM, and HELPUTIL.FRM)
- ' makes it easy to add a hypertext Help system to your
- ' applications.
- '
- ' To use the Help Toolkit in your programs, include
- ' HELP.BAS, HELPF.FRM, and HELPUTIL.FRM in your program or
- ' use the supplied library (HELP.LIB, HELPA.LIB - AltMath
- ' version) and Quick library (HELP.QLB) and call the
- ' appropriate routines to load and display your help topics.
- ' Forms and code modules that call Help routines
- ' must include HELP.BI ('$INCLUDE: 'HELP.BI').'
- '
- ' Refer to the module level comments in HELP.BAS for
- ' more information on using the Help Toolkit.
- '
- ' Copyright (C) 1982-1992 Microsoft Corporation
- '
- ' You have a royalty-free right to use, modify, reproduce
- ' and distribute the sample applications and toolkits provided with
- ' Visual Basic for MS-DOS (and/or any modified version)
- ' in any way you find useful, provided that you agree that
- ' Microsoft has no warranty, obligations or liability for
- ' any of the sample applications or toolkits.
- ' ------------------------------------------------------------------------
-
- ' Include file containing procedure declarations.
- '$INCLUDE: 'HELP.BI'
-
- '$FORM frmHelpUtils ' Form for Search, History, and Change dialogs
-
- TYPE IndexType ' Used to index Help topics
- StartFilePtr AS LONG ' Position within the topic's file
- NumLines AS INTEGER ' Number of lines in the Help topic
- END TYPE
-
- TYPE PointType
- X AS INTEGER ' Horizontal location
- Y AS INTEGER ' Vertical location
- END TYPE
-
- ' Variables common to HELP.BAS, HELPF.FRM, and HELPUTIL.FRM.
- COMMON SHARED /HelpLib/ DialogBackcolor AS INTEGER ' Background color for Help dialog boxes (Search, Copy, History)
- COMMON SHARED /HelpLib/ DialogForecolor AS INTEGER ' Foreground color for Help dialog boxes (Search, Copy, History)
-
- ' Variables common to HELP.BAS and HELPF.FRM.
- COMMON SHARED /HelpLib/ Topic() AS STRING ' Lines of the current Help topic
- COMMON SHARED /HelpLib/ LeftChar AS INTEGER ' Leftmost character of the Help topic given the horizonal scroll position
- COMMON SHARED /HelpLib/ StartLine AS INTEGER ' Top line of the Help topic given the vertical scroll position
- COMMON SHARED /HelpLib/ MaxLineLen AS INTEGER ' Longest line of the Help topic
- COMMON SHARED /HelpLib/ HelpIndexPtr() AS IndexType ' Table that stores data about each Help topic
- COMMON SHARED /HelpLib/ HelpIndexTopics() AS STRING ' Array of Help topic names. Used with the HelpIndexPtr table.
- COMMON SHARED /HelpLib/ HelpFileNum AS INTEGER ' Logical file number assigned to the Help file by HelpRegister
- COMMON SHARED /HelpLib/ HelpTopicStack() AS STRING ' Array of the last 20 Help topics shown
- COMMON SHARED /HelpLib/ HelpTopicStackPtr AS INTEGER ' Number of topics in the HelpTopicStack
- COMMON SHARED /HelpLib/ TopicFound AS STRING ' The Help topic being shown
- COMMON SHARED /HelpLib/ MaxHistoryStack AS INTEGER ' Maximum allowed size of the HelpTopicStack. HelpRegister sets to 20.
- COMMON SHARED /HelpLib/ UnloadOnClose AS INTEGER ' Flag that determines if closing the Help form terminates the Help system.
- COMMON SHARED /HelpLib/ KillHelp AS INTEGER ' Flag that HelpClose sets to terminate the Help form
- COMMON SHARED /HelpLib/ CursorPos AS PointType ' Position of the currently selected Help link within a topic
- COMMON SHARED /HelpLib/ ButtonBarHeight AS INTEGER ' Number of lines to reserve at the top of the form for the button bar. 0 or 3.
- COMMON SHARED /HelpLib/ CloseOnEscape AS INTEGER ' If TRUE, pressing ESC will close the Help window
-
- DEFINT A-Z
-
- CONST StartChar = ""
- CONST EndChar = ""
- CONST FALSE = 0
- CONST TRUE = NOT FALSE
-
- ' Click event procedure for the button bar command buttons (control array)..
- ' Invokes appropriate action when user clicks one of the buttons.
- SUB cmdButtonBar_Click (index AS INTEGER)
- SELECT CASE index
- CASE 0 ' Contents button
- pctBackground.SETFOCUS
- HelpShowTopic "Contents"
- CASE 1 ' Search button
- HelpSearch
- CASE 2 ' Back button
- HelpTopicStackPtr = HelpTopicStackPtr - 2
- pctBackground.SETFOCUS
- HelpShowTopic HelpTopicStack(HelpTopicStackPtr + 1)
- CASE 3 ' History button
- FOR i = HelpTopicStackPtr TO 1 STEP -1
- frmHelpUtils.lstHistory.ADDITEM HelpTopicStack(i)
- NEXT i
- frmHelpUtils.Caption = "History"
- frmHelpUtils.lstHistory.ListIndex = 1
- frmHelpUtils.lstHistory.Visible = TRUE
- frmHelpUtils.lstSearch.Visible = FALSE
- frmHelpUtils.SHOW 1
- RequestedTopic$ = frmHelpUtils.Tag
- UNLOAD frmHelpUtils
- pctBackground.SETFOCUS
-
- ' RequestedTopic will be null if CANCEL was
- ' pressed.
- IF RequestedTopic$ <> "" THEN
- HelpShowTopic RequestedTopic$
- END IF
- CASE 4 ' Copy button
- frmHelpUtils.Width = 63
- frmHelpUtils.Caption = "Copy"
- frmHelpUtils.txtCopyArea.Visible = TRUE
- frmHelpUtils.lstHistory.Visible = FALSE
- frmHelpUtils.lstSearch.Visible = FALSE
- frmHelpUtils.cmdOK.Caption = "Copy"
- frmHelpUtils.cmdOK.Left = frmHelpUtils.cmdOK.Left + 8
- frmHelpUtils.cmdCancel.Left = frmHelpUtils.cmdOK.Left
- frmHelpUtils.lblSelectTopic.Visible = FALSE
- frmHelpUtils.lblSelectText.Visible = TRUE
- frmHelpUtils.Left = (screen.Width - Width) \ 2
- frmHelpUtils.Top = (screen.Height - Height) \ 2
-
- ' Fill txtCopyArea with the contents of the
- ' current topic.
- ' Use temp$ instead of txtCopyArea itself
- ' for speed reasons.
- '
- temp$ = ""
- FOR i = 1 TO UBOUND(Topic)
- temp$ = temp$ + Topic(i) + CHR$(13)
- NEXT i
- frmHelpUtils.txtCopyArea.text = temp$
-
- frmHelpUtils.SHOW 1
- UNLOAD frmHelpUtils
- pctBackground.SETFOCUS
- END SELECT
- END SUB
-
- ' Load event procedure for the form.
- ' Sets default values and centers the form.
- '
- SUB Form_Load ()
- REDIM PRESERVE Topic(1 TO 50) AS STRING
- StartLine = 1
- LeftChar = 1
- hscHelp.Value = 1
- vscHelp.Value = 1
-
- ' Center the form.
- Left = (screen.Width - Width) \ 2
- Top = (screen.Height - Height) \ 2
- END SUB
-
- ' Resize event procedure for the form.
- ' Ensures pctBackground is always the correct size
- ' and that various scroll bar settings are correct
- ' for the new form size.
- '
- SUB Form_Resize ()
- IF ScaleHeight > 3 THEN
- pctBackground.MOVE 0, ButtonBarHeight, ScaleWidth, ScaleHeight - ButtonBarHeight
- vscHelp.LargeChange = ScaleHeight - ButtonBarHeight
- hscHelp.Max = HelpMax(MaxLineLen - pctBackground.ScaleWidth + 1, 1)
- vscHelp.Max = HelpMax(UBOUND(Topic) - pctBackground.ScaleHeight + 1, 1)
- END IF
- HelpPrintText StartLine, LeftChar
- pctBackground.SETFOCUS
- END SUB
-
- ' Unload event procedure for the form.
- ' Cancels the form close unless UnloadOnClose
- ' flag is set to TRUE in the HelpSetOptions routine.
- '
- SUB Form_Unload (Cancel AS INTEGER)
- IF UnloadOnClose OR KillHelp THEN
- CLOSE HelpFileNum
- HelpFileNum = 0
- ELSE
- ' KillHelp is FALSE unless HelpClose sets it to
- ' TRUE
- IF KillHelp = FALSE THEN
- Cancel = TRUE
- HIDE
- ELSE
- CLOSE HelpFileNum
- END IF
- END IF
- END SUB
-
- ' Change event procedure for the horizontal scroll bar.
- ' Scrolls help topic text.
- SUB hscHelp_Change ()
- ' Call the HelpPrintText routine using the new
- ' horizontal scroll bar value.
- HelpPrintText StartLine, (hscHelp.Value)
-
- ' Refresh the form and ensure pctBackground
- ' has the focus.
- pctBackground.REFRESH
- pctBackground.SETFOCUS
- END SUB
-
- ' KeyPress event procedure for the pctBackground.
- ' No other control needs a KeyPress routine because
- ' other Help rountines were written to ensure that
- ' pctBackground always has the focus.
- '
- ' See KeyUp event procedure for cursor navigation
- ' and Tab key handlers.
- '
- SUB pctBackground_KeyPress (KeyAscii AS INTEGER)
- SELECT CASE KeyAscii
- CASE 13 ' ENTER key
- ' Jump to a link if if TAB or Shift-TAB have
- ' been used to select one.
- IF TopicFound <> "" THEN
- HelpShowTopic TopicFound
- END IF
- CASE 27 'ESC key
- ' Close the Help form is ESC is pressed
- ' and the CloseOnEscape flag was set
- ' by HelpSetOptions
- IF CloseOnEscape THEN
- IF UnloadOnClose THEN
- HelpClose
- ELSE
- Form_Unload Cancel
- END IF
- END IF
-
- ' The following statements click the appropriate
- ' command button as if the mouse was used.
- '
- CASE 67, 99 'C as in Contents
- IF cmdButtonBar(0).Visible AND cmdButtonBar(0).Enabled THEN cmdButtonBar_Click 0
- CASE 83, 115 'S as in Search
- IF cmdButtonBar(1).Visible AND cmdButtonBar(1).Enabled THEN cmdButtonBar_Click 1
- CASE 66, 98 'B as in Back
- IF cmdButtonBar(2).Visible AND cmdButtonBar(2).Enabled THEN cmdButtonBar_Click 2
- CASE 84, 116 'T as in hisTory
- IF cmdButtonBar(3).Visible AND cmdButtonBar(3).Enabled THEN cmdButtonBar_Click 3
- CASE 80, 112 'P as in coPy
- IF cmdButtonBar(4).Visible AND cmdButtonBar(4).Enabled THEN cmdButtonBar_Click 4
- END SELECT
- END SUB
-
- ' KeyUp event procedure for keyboard navigation.
- ' No other control needs a KeyUp routine because other
- ' Help rountines were written to ensure that
- ' pctBackground always has the focus.
- '
- ' See KeyPress for ENTER, ESCAPE, C, S, B,
- ' T, and P handlers.
- '
- SUB pctBackground_KeyUp (KeyCode AS INTEGER, Shift AS INTEGER)
- SELECT CASE KeyCode
- CASE 9 ' tab key
- IF (Shift AND 1) = 0 THEN
- ' Search forward. Shift is not
- ' pressed.
- Direction = 1
- ELSE
- ' Search backwards. Shift is
- ' pressed.
- Direction = -1
- END IF
-
- ' CursorPos.Y is only 0 if no link has
- ' been highlighted yet.
- IF CursorPos.Y = 0 THEN
- ' No link is currently selected.
- ' Find the first link in the topic.
-
- MaxTopicLines = UBOUND(Topic)
- TopicScanY = 1
- EndNow = FALSE
- StartPos = INSTR(Topic(1), StartChar)
- DO WHILE NOT EndNow
- IF StartPos > 0 THEN
- TopicScanX = StartPos + 1
- LastStartPos = StartPos
- IF Direction = 1 THEN
- StartPosLine = TopicScanY
- EndNow = TRUE
- ELSE
- StartPos = INSTR(TopicScanX, Topic(TopicScanY), StartChar)
- StartPosLine = TopicScanY
- END IF
- ELSE
- IF TopicScanY < MaxTopicLines THEN
- TopicScanY = TopicScanY + 1
- TopicScanX = 1
- StartPos = INSTR(TopicScanX, Topic(TopicScanY), StartChar)
- ELSE
- EndNow = TRUE
- END IF
- END IF
- LOOP
-
- ' Below only happens in Direction -1 searches
- IF LastStartPos <> StartPos AND TopicScanY <> StartLinePos THEN
- StartPos = LastStartPos
- TopicScanX = StartPos + 1
- TopicScanY = StartPosLine
- END IF
- ELSE
- ' A link is currently selected.
- ' Find the next link in the topic.
- MaxTopicLines = UBOUND(Topic)
- TopicScanY = CursorPos.Y
- IF Direction = 1 THEN
- TopicScanX = CursorPos.X + 1
- TimesThrough = 0 ' TimesThrough is used so this routine can loop back to start of the topic if it doesn't find a match going forward.
- StartPos = INSTR(TopicScanX, Topic(TopicScanY), StartChar)
- DO
- StartPos = INSTR(TopicScanX, Topic(TopicScanY), StartChar)
- EndNow = FALSE
- DO WHILE NOT EndNow
- IF StartPos > 0 THEN
- TopicScanX = StartPos + 1
- EndNow = TRUE
- ELSE
- IF TopicScanY < MaxTopicLines THEN
- TopicScanY = TopicScanY + 1
- TopicScanX = 1
- StartPos = INSTR(TopicScanX, Topic(TopicScanY), StartChar)
- ELSE
- EndNow = TRUE
- TimesThrough = TimesThrough + 1
- TopicScanX = 1
- TopicScanY = 1
- END IF
- END IF
- LOOP
- LOOP UNTIL (TimesThrough = 2) OR (StartPos > 0)
- ELSE
- ' Scan backwards.
- TimesThrough = 0
- TopicScanX = 0
- StartPos = CursorPos.X - 2
- DO UNTIL EndNow OR TimesThrough = 2
- IF StartPos < 1 THEN
- EndLineNow = TRUE
- ELSE
- EndLineNow = FALSE
- END IF
-
- ' See if there's any need for
- ' checking the line char by char.
- ' Small optimization.
- IF INSTR(Topic(TopicScanY), StartChar) = 0 THEN
- EndLineNow = TRUE
- END IF
-
- DO UNTIL EndLineNow
- IF MID$(Topic(TopicScanY), StartPos, 1) = StartChar THEN
- TopicScanX = StartPos + 1
- EndLineNow = TRUE
- EndNow = TRUE
- ELSE
- StartPos = StartPos - 1
- IF StartPos = 0 THEN EndLineNow = TRUE
- END IF
- LOOP
-
- IF NOT EndNow THEN
- TopicScanY = TopicScanY - 1
- IF TopicScanY = 0 THEN
- TopicScanY = MaxTopicLines
- TimesThrough = TimesThrough + 1
- END IF
- StartPos = LEN(Topic(TopicScanY))
- END IF
- LOOP
- END IF
- END IF
-
- IF StartPos > 0 THEN
- ' Found a topic start marker.
- ' Find the end marker.
- EndPos = INSTR(TopicScanX + 1, Topic(TopicScanY), EndChar)
-
- ' Be sure that an end marker was found
- IF EndPos = 0 THEN
- MSGBOX "No topic end marker found.", 0, "Help"
- EXIT SUB
- END IF
-
- TopicFound = MID$(Topic(TopicScanY), StartPos + 1, EndPos - StartPos - 1)
-
- ' Now scroll the display appropriately
- ' so the link can be seen.
-
- ' Is the link being displayed now?
- ' Vertically first
- IF TopicScanY < StartLine OR TopicScanY > StartLine + pctBackground.ScaleHeight - 1 THEN
-
- ' The link isn't on a visible line.
- ' Scroll so the topic is visible
- ' vertically
-
- IF TopicScanY > StartLine + pctBackground.ScaleHeight - 1 THEN
- StartLine = TopicScanY - pctBackground.ScaleHeight + 1
- ELSE
- StartLine = TopicScanY
- END IF
- END IF
-
- ' Then horizontally
- IF TopicScanX < LeftChar OR TopicScanX >= LeftChar + ScaleWidth THEN
- ' The link isn't visible horizontally.
- ' Scroll so the topic is visible
- ' horizontally
- IF TopicScanX + LEN(TopicFound) + 1 < pctBackground.ScaleWidth THEN
- LeftChar = 1
- ELSE
- LeftChar = TopicScanX - pctBackground.ScaleWidth + LEN(TopicFound) + 1
- END IF
- END IF
-
- ' Now reprint the topic
- CursorPos.Y = TopicScanY
- CursorPos.X = TopicScanX
- HelpPrintText StartLine, LeftChar
- END IF
-
- ' Scroll using the cursor keys
- CASE 39 'crsr right
- IF hscHelp.Value < hscHelp.Max THEN hscHelp.Value = hscHelp.Value + 1
- CASE 38 'crsr up
- IF vscHelp.Value > 1 THEN vscHelp.Value = vscHelp.Value - 1
- CASE 37 'crsr left
- IF hscHelp.Value > 1 THEN hscHelp.Value = hscHelp.Value - 1
- CASE 40 'crsr down
- IF vscHelp.Value < vscHelp.Max THEN vscHelp.Value = vscHelp.Value + 1
-
- CASE 36 ' Home
- IF Shift AND 2 THEN ' If ctrl is pressed
- vscHelp.Value = 1
- ELSE
- hscHelp.Value = 1
- END IF
- CASE 35 ' End
- IF Shift AND 2 THEN ' If ctrl is pressed
- vscHelp.Value = vscHelp.Max
- ELSE
- hscHelp.Value = hscHelp.Max
- END IF
- CASE 33 ' PgUp
- vscHelp.Value = HelpMax(vscHelp.Value - vscHelp.LargeChange, 1)
- CASE 34 ' PgDn
- vscHelp.Value = HelpMin(vscHelp.Value + vscHelp.LargeChange, (vscHelp.Max))
- END SELECT
- END SUB
-
- ' MouseUp event procedure for pctBackground.
- ' Looks for Help links based on the location
- ' of mouse clicks. See KeyUp procedure for
- ' how TAB and Shift-TAB select links.
- '
- SUB pctBackground_MouseUp (Button AS INTEGER, Shift AS INTEGER, X AS SINGLE, Y AS SINGLE)
- ' Find the link
-
- IF Y + StartLine <= UBOUND(Topic) THEN
- ' Providing the user clicked somewhere
- ' there is text....
-
- TopicLine$ = Topic(Y + StartLine)
- MouseCursorPos = LeftChar + X
-
- ' Go forward to look for a EndChar
- EndPos = INSTR(MouseCursorPos, TopicLine$, EndChar)
- IF EndPos = 0 THEN
- ' No EndChar on this line to the right of
- ' the mouse click.
- TopicFound = ""
- EXIT SUB
- END IF
-
- ' Go back and look for StartChar.
- EndNow = 0
- StartPos = MouseCursorPos
- DO UNTIL EndNow
- SELECT CASE MID$(TopicLine$, StartPos, 1)
- CASE StartChar
- ' Found a topic start char.
- EndNow = -1
- CASE EndChar
- ' Found a link EndChar.
- ' Unless this is the char under
- ' the mouse, cancel the seach.
- ' Means the mouse is in between
- ' two Help links.
- IF StartPos <> MouseCursorPos THEN
- TopicFound = ""
- EXIT SUB
- ELSE
- ' Just back up and keep on looking
- StartPos = StartPos - 1
- IF StartPos = 0 THEN EndNow = -1
- END IF
- CASE ELSE
- ' Back up. Stop if reach start of line.
- StartPos = StartPos - 1
- IF StartPos = 0 THEN EndNow = -1
- END SELECT
- LOOP
-
- IF StartPos = 0 THEN
- TopicFound = ""
- EXIT SUB
- END IF
-
- ' Sets the Common Shared TopicFound variable.
- TopicFound = MID$(TopicLine$, StartPos + 1, EndPos - StartPos - 1)
-
- ' Jump to that topic.
- HelpShowTopic TopicFound
- END IF
- END SUB
-
- ' Change event procedure for the vertical scroll bar.
- ' Scrolls help topic text.
- SUB vscHelp_Change ()
- ' Call the HelpPrintText routine using the new
- ' vertical scroll bar value.
- HelpPrintText (vscHelp.Value), LeftChar
-
- ' Refresh the form and ensure pctBackground
- ' has the focus.
- pctBackground.REFRESH
- pctBackground.SETFOCUS
- END SUB
-
-